package a2022.a20220928;

/**
 * @author lenovo
 * @date 2022/9/28
 */
public class a {
    public static void main(String[] args) {
        System.out.println(getKthMagicNumber(22));
    }

    /**
     * 任意一个数 都是由前面的数*3或*5或*7得到 ,拿3个指针计算用到了第几个*3或*5或*7 , 一个数裂变为3个加入数组
     * @param k
     * @return
     */
    public static int getKthMagicNumber(int k) {
        int[] numList=new int[k+1];
        int p3=0,p5=0,p7=0;
        numList[0]=1;
        for(int i=1;i<k;i++){
            numList[i]=Math.min(Math.min(numList[p3]*3,numList[p5]*5),numList[p7]*7);
            if(numList[i]==numList[p3]*3) p3++;
            if(numList[i]==numList[p5]*5) p5++;
            if(numList[i]==numList[p7]*7) p7++;
        }
        return numList[k-1];
    }


}
